package com.ptrsystem.siatd.controllers;

import com.ptrsystem.siatd.beans.AccesoUsuario;
import org.springframework.stereotype.Controller;
import com.ptrsystem.siatd.dao.logica.MantenimientoAccesoUsuarioLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoEstadoAccesoLogica;
import com.ptrsystem.siatd.dao.logica.MantenimientoMotActualizaAccesoLogica;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class AccesoUsuarioController {

    @Autowired
    private MantenimientoAccesoUsuarioLogica logica;
    @Autowired
    private MantenimientoEstadoAccesoLogica estAcceso;
    @Autowired
    private MantenimientoMotActualizaAccesoLogica motAct;

    @RequestMapping(value = "registrarAccesoUsuario.htm", method = RequestMethod.GET)
    private String registrarAccesoUsuario(HttpServletRequest req) {
        req.getSession(true).setAttribute("codAccUsu", String.valueOf(logica.generarCodAccesoUsuario()));
        req.getSession(false).setAttribute("estAcc", estAcceso.listaEstadoAcceso());
        req.getSession(false).setAttribute("motAct", motAct.listaMotActAcceso());
        req.getSession(false).setAttribute("result", "Estado De Mantenimiento");
        return "Mantenimiento/NRegAccesoUsuario";
    }

    @RequestMapping(value = "registraAccesoUsuario.htm", method = RequestMethod.POST)
    private String registraAccesoUsuario(AccesoUsuario accUsu, HttpServletRequest req) {
        accUsu.setCodAccUsu(String.valueOf(logica.generarCodAccesoUsuario()));
        boolean rs = logica.registraAccesoUsuario(accUsu);
        if (rs) {
            req.getSession(true).setAttribute("codAccUsu", String.valueOf(logica.generarCodAccesoUsuario()));
            req.getSession(false).setAttribute("result", "Registro Efectuado");
        } else {
            req.getSession(false).setAttribute("result", "REgistro Fallido");
        }
        return "Mantenimiento/NRegAccesoUsuario";
    }

}
